package com.baoxin.config;

import com.querydsl.jpa.impl.JPAQueryFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.persistence.EntityManager;

/**
 * @Author: Rose
 * @Date: 2021/3/24 10:55
 * @version: 1.0.0
 */
@Configuration
public class QueryDSLConfig {


    @Autowired
    private EntityManager entityManager;




    /**
     *  让 Spring 来管理 JpaFactory
     *
     *  使用QueryDSL 的功能时， 会依赖使用到 JPAQueryFactory ， 而JPAQueryFactory 在这里依赖使用EntityManager ， 所以在主类中如下配置， 使用
     *  spring 自动帮我们注入 EntityManager 与自动管理JPAQueryFactory
     *
     * @param entityManager
     * @return
     */
    @Bean
    public JPAQueryFactory japQueryFactory(EntityManager entityManager){
        return new JPAQueryFactory(entityManager);
    }
}
